import request from "@/utils/request";

/**
 * 销售订单列表
 * @param {Object} query 查询参数
 * @returns {Promise} 请求的Promise对象
 */
export function listSalesOrder(query) {
  return request({
    url: "/mes/pro/order/list", // 请求的URL
    method: "get", // 请求方法为GET
    params: query, // 请求参数
  });
}

/**
 * 新增销售订单
 * @param {Object} data 新增销售订单的数据
 * @returns {Promise} 请求的Promise对象
 */
export function addSalesOrder(data) {
  return request({
    url: "/mes/pro/order/add", // 请求的URL
    method: "post", // 请求方法为POST
    data, // 请求的数据
  });
}

/**
 * 编辑销售订单
 * @param {Object} data 编辑销售订单的数据
 * @returns {Promise} 请求的Promise对象
 */
export function editSalesOrder(data) {
  return request({
    url: "/mes/pro/order/edit", // 请求的URL
    method: "put", // 请求方法为PUT
    data, // 请求的数据
  });
}

/**
 * 商品明细
 * @param {string|number} orderId 销售订单的ID
 * @returns {Promise} 请求的Promise对象
 */
export function listGoodsByOrderId(orderId) {
  return request({
    url: "/mes/sale/product/listByOrderId/" + orderId,
    method: "get",
  });
}

/**
 * 新增商品明细
 * @param {Object} data 新增商品明细的数据
 * @returns {Promise} 请求的Promise对象
 */
export function addGoods(data) {
  return request({
    url: "/mes/sale/product/add", // 请求的URL
    method: "post", // 请求方法为POST
    data, // 请求的数据
  });
}

/**
 * 查询订单详情
 * @param {string|number} orderId 销售订单的ID
 * @returns {Promise} 请求的Promise对象
 */
export function getSalesOrderDetail(orderId) {
  return request({
    url: "/mes/pro/order/info/" + orderId,
    method: "post",
  });
}

/**
 * 删除商品明细
 * @param {string|number} ids 要删除的商品明细的ID
 * @returns {Promise} 请求的Promise对象
 */
export function delGoods(ids) {
  return request({
    url: "/mes/sale/product/" + ids, // 请求的URL，包含要删除的ID
    method: "delete", // 请求方法为DELETE
  });
}

/**
 * 编辑商品明细
 * @param {Object} data 编辑商品明细的数据
 * @returns {Promise} 请求的Promise对象
 */
export function editGoods(data) {
  return request({
    url: "/mes/sale/product/edit", // 请求的URL
    method: "put", // 请求方法为PUT
    data, // 请求的数据
  });
}

/**
 * 导入商品
 * @param {Object} data 导入商品的数据
 * @returns {Promise} 请求的Promise对象
 */
export function importGoods(data) {
  return request({
    url: "/mes/sale/product/importOrderProduct", // 请求的URL
    method: "post", // 请求方法为POST
    data, // 请求的数据
  });
}

// 支付明细
/**
 * 支付明细
 * @param {string|number} orderId 销售订单的ID
 * @returns {Promise} 请求的Promise对象
 */
export function listPayByOrderId(orderId) {
  return request({
    url: "/mes/sale/orderPay/listByOrderId/" + orderId,
    method: "get",
  });
}

/**
 * 新增支付明细
 * @param {Object} data 新增支付明细的数据
 * @returns {Promise} 请求的Promise对象
 */
export function addPay(data) {
  return request({
    url: "/mes/sale/orderPay/add", // 请求的URL
    method: "post", // 请求方法为POST
    data, // 请求的数据
  });
}

/**
 * 删除支付明细
 * @param {string|number} ids 要删除的支付明细的ID
 * @returns {Promise} 请求的Promise对象
 */
export function delPay(ids) {
  return request({
    url: "/mes/sale/orderPay/" + ids, // 请求的URL，包含要删除的ID
    method: "delete", // 请求方法为DELETE
  });
}

/**
 * 收货明细
 * / @param {string|number} orderId 销售订单的ID
 */
export function listDeliveryByOrderId(orderId) {
  return request({
    url: "/mes/sale/orderDelivery/listByOrderId/" + orderId,
    method: "get",
  });
}

/**
 * 订单审核、反审核
 * @param {} data 审核数据
 * @returns
 */
export function orderAudit(data) {
  return request({
    url: "/mes/pro/order/audit",
    method: "post",
    data: data,
  });
}

/**
 * 销售订单导入
 * @param {Object} data 导入数据
 * @returns
 */
export function importSellOrder(data) {
  return request({
    url: "mes/pro/order/importSellOrder",
    method: "post",
    data: data,
  });
}

// 批量修改仓库
export function updateWarehouse(data) {
  return request({
    url: "/mes/pro/order/updateWarehouse",
    method: "put",
    data: data,
  });
}

// 批量修改物流公司
export function updateExpress(data) {
  return request({
    url: "/mes/pro/order/updateExpress",
    method: "put",
    data: data,
  });
}

// 批量转现货订单
export function updateStock(data) {
  return request({
    url: "/mes/pro/order/inStock",
    method: "put",
    data: data,
  });
}

// 订单删除
export function deleteOrder(ids) {
  return request({
    url: "/mes/pro/order/del/" + ids, // 请求的URL，包含要删除的ID
    method: "delete", // 请求方法为DELETE
  });
}

// 订单作废
export function cancelOrder(data) {
  return request({
    url: "/mes/pro/order/cancel",
    method: "post",
    data: data,
  });
}

// 订单拦截
export function interceptOrder(data) {
  return request({
    url: "/mes/pro/order/intercept",
    method: "put",
    data: data,
  });
}

// 订单取消拦截
export function cancelInterceptOrder(data) {
  return request({
    url: "/mes/pro/order/cancelIntercept",
    method: "put",
    data: data,
  });
}

// 批量修改业务员
export function editBizUser(data) {
  return request({
    url: "/mes/pro/order/editBizUser",
    method: "put",
    data: data,
  });
}

// 批量修改附加信息
export function editExtInfo(data) {
  return request({
    url: "/mes/pro/order/editExtInfo",
    method: "put",
    data: data,
  });
}

// 批量修改预计发货时间
export function editPDT(data) {
  return request({
    url: "/mes/pro/order/editPDT",
    method: "put",
    data: data,
  });
}

// 发货信息查询
export function listShippingInfo(orderId) {
  return request({
    url: "/mes/sale/shipment/listByOrderId/" + orderId,
    method: "get",
  });
}
